package teste;


import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

/**
 *
 * @author Rapha
 */

@Entity
@Table(name="endereco")
public class Endereco implements Serializable
{

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id_endereco;

    @Column(name="descricao_endereco", length=40,nullable=false)
    private String descricao_endereco;

    @ManyToOne()
    @JoinColumn(name="idPessoa",updatable=true, insertable=true)
    @Fetch(FetchMode.JOIN)
    @Cascade(CascadeType.ALL)
    private Pessoa pessoa;

    /**
     * @return the id_endereco
     */
    public int getId_endereco() {
        return id_endereco;
    }

    /**
     * @param id_endereco the id_endereco to set
     */
    public void setId_endereco(int id_endereco) {
        this.id_endereco = id_endereco;
    }

    /**
     * @return the descricao_endereco
     */
    public String getDescricao_endereco() {
        return descricao_endereco;
    }

    /**
     * @param descricao_endereco the descricao_endereco to set
     */
    public void setDescricao_endereco(String descricao_endereco) {
        this.descricao_endereco = descricao_endereco;
    }

    /**
     * @return the pessoa
     */
    public Pessoa getPessoa() {
        return pessoa;
    }

    /**
     * @param pessoa the pessoa to set
     */
    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

}
